Second step: PC Simulator Save Files


PC Simulator save files are encrypted using XOR 0x81.
It uses JSON.

In this tutorial, we'll refer PC Simulator Save files as just saves.

First line of a save


The first line of a save contains metadata about the save.

{"version":"1.8.0","roomName":"1.8.0","coin":180,"room":3,"gravity":true,"hardcore":false,"playtime":5525.873046875,"temperature":20.0,"ac":false,"light":true,"sign":"Yiming"}
This is how the first line of the 1.8.0 example look's like.

The version property describes the version the save has been played as of the latest load. This property cannot be changed after the save has been created without loading the save in a newer version.
The roomName property is the name of the save in PC Simulator. This property can be changed in game after it has been created in the save info, and can be seen in the load save menu and save info.
The coin property is how much money you have in that save.
The room property describes what the room type is in numbers from 0-3. For example:

Medium: 0
Large: 1
Double Storey: 2
Factory: 3

The room property cannot be changed after the save has been created without the use of save editors or hacks.

The gravity property is if the save has gravity. This property cannot be changed after the save has been created without the use of save editors or hacks.
The hardcore property is if the save is in hardcore. This property cannot be changed after the save has been created without the use of save editors or hacks.
The playtime property is how long you played in that save. This can be seen in the save info.
The temperature property is the temperature of the AC in the save. Don't get confused!
The ac property is if the AC in the save is on (true) or not (false).
The light property is just if the lamp is on through the switch near the door. Don't get confused again!
The sign property is the name of the creator that can be seen in the save info. Not displayed if the property value is blank. This property can only be changed through save editors or hacks, and cannot be changed in game, and you cannot save the game if this property's value is not blank if you are done with it (just Exit without Save).

Second line of a save


It's getting more complicated now, so try to stay with me if you're interested.

This is how the player's property look's like:
{"playerData":{"x":-4.90798426,"y":-2.70895219,"z":-10.656539,"ry":192.328568,"rx":19.5388222}
The x, y, z properties relate to the position of the player.
The ry, rx properties relate to the rotation of the player camera.

Now, global applies to all, and specifics applies to a specific spawnId.

This is how an object's global property look's like:
"itemData":[{"spawnId":"BannerStand","id":28630066,"pos":{"x":-24.26478,"y":-2.19383526,"z":4.321465},"rot":{"x":-1.38645992E-05,"y":0.8149904,"z":9.117648E-06,"w":0.579474568},"data":{}}
Notice the itemData, that's where all the objects are stored.
The spawnId property is the type of the object (SSDs, Banners in this case). This property cannot be changed after the object has been created without the use of save editors or hacks. This can also be used to spawn illegal items like:

Projector
Cube
RTX4080Ti (Does more worse than other GPUs)
Pillow (the bed object isn't implemented yet.)


The id property is like a UUID, assigned to each object. Make sure none conflicts with each other! This property cannot be changed after the object has been created without the use of save editors or hacks.
The pos property relates to the position of the object in 3D (X, Y, Z).
The rot property relates to the quaternion of the object.
The data property is specific to each spawnId, containing it's data.

This is how an SSDs and HDDs data look's like:
{"storageName":"Local Disk","password":"","files":[{"path":"System/boot.bin","content":"pcos","hidden":true,"size":60000,"StorageSize":60000},{"path":"App Downloader.exe","content":"","hidden":false,"size":432,"StorageSize":432},{"path":"Personalization.exe","content":"","hidden":false,"size":374,"StorageSize":374},{"path":"System/user","content":"{\"userPicturePath\":\"\",\"userName\":\"Video PC\",\"background\":0}","hidden":true,"size":0,"StorageSize":59},{"path":"System/devices","content":"{\"devices\":[{\"name\":\"LED Display 1225\",\"type\":2,\"id\":-666251422}]}","hidden":true,"size":0,"StorageSize":66},{"path":"f0.pic","content":"","hidden":false,"size":0,"StorageSize":596},],"hooked":true,"glue":false}}

This would be way too long to explain if everything was included.
This may differ.

The storageName property is the text that appears in Disk Management and if you hold the drive.
The password property is if you set a password in Personalization. Without the password, you won't be able to boot your computer. This property cannot be changed if you forgot the password without save editors or hacks.
The files property is the contents of the drive. We'll get into that in the next section.
The hooked property is if it's in a PC?
The glue property is for the glue item which we'll get to in the next page.

This is how a file look's like:
{"path":"System/boot.bin","content":"pcos","hidden":true,"size":60000,"StorageSize":60000}
The path property is just the name of the file/directory. But there's more.

The file System/boot.bin is required to boot PCOS. If missing, PCOS won't boot.
The file System/boot.bin cannot be copied, deleted, or cut without the use of save editors or hacks.
The file System/boot.bin is hidden by default, but still won't appear in the desktop. (though this does not apply with a save editor.)
The content property is the contents of the file.
The System/boot.bin contents has to be either pcos (PCOS) or pcos_ins (PCOS Installer).
Apps have to be either the apps that are in the list of the App Downloader app, and ends with .exe

The size property indicates the size it takes up in MBs? This property cannot be changed after the file has been created without the use of save editors or hacks.
The StorageSize property is the same as the size property.

You can also make illegal drives. Examples:

PCOS Installer on an SSD (Inserting and unplugging this drive on a PC that's turned on won't cause it to BSOD):
{"spawnId":"SSD 128GB","id":-1513858931,"pos":{"x":11.5114212,"y":-2.39441514,"z":1.12939465},"rot":{"x":0.00159907667,"y":0.3435182,"z":0.00071435445,"w":0.9391444},"data":{"storageName":"PCOS Installer","password":"","files":[{"path":"System/boot.bin","content":"pcos_ins","hidden":false,"size":0,"StorageSize":8}],"uptime":137.449936,"health":100.0,"damaged":false,"glue":false}}

PCOS on a USB Flash Drive (Unplugging flash drive causes a BSOD, takes a really long time to boot):
{"storageName":"Live Boot","password":"","files":[{"path":"System/boot.bin","content":"pcos","hidden":true,"size":60000,"StorageSize":60000},{"path":"App Downloader.exe","content":"","hidden":false,"size":432,"StorageSize":432},{"path":"Benchmark.exe","content":"","hidden":false,"size":482,"StorageSize":482},{"path":"Disk Management.exe","content":"","hidden":false,"size":297,"StorageSize":297},{"path":"File Manager.exe","content":"","hidden":false,"size":127,"StorageSize":127},{"path":"System Info.exe","content":"","hidden":false,"size":273,"StorageSize":273},{"path":"Daily Market.exe","content":"","hidden":false,"size":382,"StorageSize":382},{"path":"EZ Mining.exe","content":"","hidden":false,"size":673,"StorageSize":673},{"path":"Frequency Settings.exe","content":"","hidden":false,"size":339,"StorageSize":339},{"path":"Paint.exe","content":"","hidden":false,"size":619,"StorageSize":619},{"path":"Personalization.exe","content":"","hidden":false,"size":374,"StorageSize":374},{"path":"Terminal.exe","content":"","hidden":false,"size":297,"StorageSize":297},{"path":"Video Player.exe","content":"","hidden":false,"size":816,"StorageSize":816},{"path":"Text Editor.exe","content":"","hidden":false,"size":264,"StorageSize":264},{"path":"My Devices.exe","content":"","hidden":false,"size":203,"StorageSize":203},{"path":"Animator.exe","content":"","hidden":false,"size":1329,"StorageSize":1329},{"path":"Browser.exe","content":"","hidden":false,"size":593,"StorageSize":593},{"path":"Camera.exe","content":"","hidden":false,"size":210,"StorageSize":210},{"path":"System/devices","content":"{\"devices\":[{\"name\":\"Apson A3\",\"type\":1,\"id\":-1329550145},{\"name\":\"Camera\",\"type\":3,\"id\":-361622634}]}","hidden":true,"size":0,"StorageSize":102},{"path":"System/user","content":"{\"userPicturePath\":\"\",\"userName\":\"User\",\"background\":1}","hidden":true,"size":0,"StorageSize":55}],"uptime":26556.2969,"health":100.0,"damaged":false,"glue":false}}

PCOS without System/boot.bin (system32):
{"spawnId":"SSD_M.2 1TB","id":1162601802,"pos":{"x":3.757841,"y":0.347554,"z":20.272131},"rot":{"x":0.482912481,"y":-0.516290247,"z":-0.5159509,"w":-0.483771175},"data":{"storageName":"Local Disk","password":"","files":[{"path":"App Downloader.exe","content":"","hidden":false,"size":432,"StorageSize":432},{"path":"Benchmark.exe","content":"","hidden":false,"size":482,"StorageSize":482},{"path":"Disk Management.exe","content":"","hidden":false,"size":297,"StorageSize":297},{"path":"File Manager.exe","content":"","hidden":false,"size":127,"StorageSize":127},{"path":"System Info.exe","content":"","hidden":false,"size":273,"StorageSize":273},{"path":"EZ Mining.exe","content":"","hidden":false,"size":673,"StorageSize":673},{"path":"Daily Market.exe","content":"","hidden":false,"size":382,"StorageSize":382},{"path":"Frequency Settings.exe","content":"","hidden":false,"size":339,"StorageSize":339},{"path":"Paint.exe","content":"","hidden":false,"size":619,"StorageSize":619},{"path":"Personalization.exe","content":"","hidden":false,"size":374,"StorageSize":374},{"path":"RGB Controller.exe","content":"","hidden":false,"size":477,"StorageSize":477},{"path":"Terminal.exe","content":"","hidden":false,"size":297,"StorageSize":297},{"path":"Video Player.exe","content":"","hidden":false,"size":816,"StorageSize":816},{"path":"Text Editor.exe","content":"","hidden":false,"size":264,"StorageSize":264},{"path":"Animator.exe","content":"","hidden":false,"size":1329,"StorageSize":1329},{"path":"My Devices.exe","content":"","hidden":false,"size":203,"StorageSize":203},{"path":"Browser.exe","content":"","hidden":false,"size":593,"StorageSize":593},{"path":"Camera.exe","content":"","hidden":false,"size":210,"StorageSize":210},{"path":"System/devices","content":"{\"devices\":[{\"name\":\"LED Display 1225\",\"type\":2,\"id\":-1345284304},{\"name\":\"Projector A13\",\"type\":2,\"id\":-190089260},{\"name\":\"Cooler\",\"type\":2,\"id\":-1747949538},{\"name\":\"Camera\",\"type\":3,\"id\":-840008272}]}","hidden":true,"size":0,"StorageSize":204}],"uptime":2580.43213,"health":100.0,"damaged":false,"glue":false}}

This is how the System/user file look's like:
{\"userPicturePath\":\"\",\"userName\":\"Video PC\",\"background\":0}
There is a lot of backslashes, but ignore them.
All of these properties can be changed in the Personalization app.
The userPicturePath property is the path to the file of the user picture.
The userName property is the username of the drive.
The background property is the background in integer from 0-3. Examples:

Blue: 0
Light Blue - Purple: 1
Black: 2
Windows 9x: 3

This is how the System/Devices file look's like:
{\"devices\":[{\"name\":\"LED Display 1225\",\"type\":2,\"id\":-666251422}]}
devices is where the devices are stored, so we won't get into that.
In each device:
The name property is the name of the device. This can be changed in My Devices.
The type property is the type of the device in integer.
The id property is the id of the object as explained in object global properties.

This is how a paper and banner's properties look's like:
{"dat":"iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAIAAAD8GO2jAAABGUlEQVRIDe1WyxKEIAyTHf//l91AMZan7Sh7Wg9OCzRJW0DDcRzbyudD8BAC7ReNTAB0pLKCIxIIOowVHFeJXiyLhtrFaYuji/ZkI2QCQpBJRjiuRbns2FtXgHdxbrI3zL5+eZMvAlSfDbALvF2ZCQCNZuB5nSMTALrWgptDLo/2XS+d+fUN0WGahd/P/WSb3st4sOLaRQ9AZqF/gll10py/ROWXVQ4m3q0h3M5tSvT2YA5y8WRAdGCdtggfgMdhcwYnYoFlyMOcAbA0HF0QC3dXwbblT2ahy+WQlUYZbs6gDKOXtk/8Y9NG4fquT9ZhoJfENPwZVNC6B2wGdTh2ESUhuOLgVM9wZiDoWmCyR8cYjOZz0FNnGfsCDzJXey42hpUAAAAASUVORK5CYII=","glue":false}
The dat property is the image in Base64.

Some fun stuff


3 crashing saves


This is a compressed ZIP file, that when unpacked is 50MBs.
Google Drive Link

Exceed the 9,999,999 coin limit


Simply modify the coin value as explained at the start of the page to anything above 9,999,999 (max 2,147,483,647 and min -2,147,483,647).

Change the AC temperature to below the minimum or above the max


Again, very easy. Just change the temperature to whatever you want. (min -2,147,483,647 and max 2,147,483,647)
Very useful to get to the top of the leaderboard.